Сообщаем о том, что вышла новая версия граббера статей и новостей
FDE Grabber 4.4
Можно отметить, что с этой версии в системе импорта новостей FDE Grabber начинается новая веха в истории развития. Было сделано множество изменений в плане улучшения производительности системы, а также реализовано немало новых идей…
Какие изменения и дополнения в новой версии граббера?
- При настройке категории добавлена возможность указания минимального необходимого количества в статье картинок. Так, в случае когда количество изображений в статье меньше указанной величины, то статья будет удалена и не будет получена
- Добавлена возможность бесшаблонного парсинга новостей (статей). Это означает, что теперь в большинстве случаев можно получать полезный контент полного содержимого статьи вообще не составляя никакого шаблона!
- Появилась возможность DOM парсинга как содержимого статей так и источников.
- Появилась возможность DOM замен, наряду с обычными заменами и заменами, с помощью регулярных выражений
А теперь непосредственно о самом главном, о DOM парсинге и о преимуществах, которые мы получаем, используя DOM шаблоны
DOM – это аббревиатура от английского “
Document Object Model”, что переводится на русский, как “Объектная Модель Документа”. Любой документ известной структуры с помощью DOM может быть представлен в виде дерева узлов, каждый узел которого представляет собой элемент, атрибут, текстовый, графический или любой другой объект. Узлы связаны между собой отношениями “родительский-дочерний”. Иными словами, система импорта новостей FDE Grabber теперь умеет построить из HTML кода документа иерархическое DOM дерево, состоящее из узлов, связанных между собой отношениями родитель-дочерний элемент. При этом технология DOM парсинга разработана нами самостоятельно, в стенах компании
FDSTAR и не основывается ни на каких-либо чужих разработках.
Как работает DOM парсинг на примере разбора содержимого статьи:
- указывается DOM шаблон
- FDE Grabber преобразует документ в иерархическое DOM дерево
- начинается поиск по указанному DOM шаблону необходимого нам элемента и в случае его нахождения мы получим полезный контент
Как выглядит DOM шаблон
В DOM шаблоне указываются DOM элементы (узлы) в виде иерархической последовательности (как и в
CSS стилях или, например
jquery).
Рассмотрим пример. Пусть, полезный контент содержится в документе, который выглядит следующим образом:
<body>
<div>
<table>
<tr>
<td>
<div class="content">
полезное содержимое,
которое мы должны получить
</div>
</td>
</tr>
</table>
</div>
</body>
Тогда мы можем выстроить некоторый шаблон, который будет выглядеть, например так:
body div table div.content
Последовательность
body div table div.content означает, что мы ищем элемент
div со стилевым классом “
content“, который является дочерним по отношению к
table, а
table в свою очередь дочерним, по отношению к
div, а
div к
body.
Допускается указание идентификаторов, в виде
div#id, где
div - это элемент с идентификатором “
id“.
Кроме того, допускается указание любой общности элементов в виде
“*”. Конструкция вида
*.content означает любой элемент со стилевым классом “
content”
Ну хорошо, скажете вы, но это не позволяет распознать контент в большинстве сайтов, работающих на популярном движке DLE. Контент там находится, обычно в блочных элементах с уникальным идентификатором, вида
news-id-555555
ДА! Именно поэтому мы сделали возможность указания дополнительного сопоставления атрибутов
Например,
id {preg} #content_\d+#i – это сопоставление значения атрибута
id с указанным регулярным выражением
#content_\d+#i.
width {like} 100 – это сопоставление значения атрибута
width со строковым значением “
100” (не регулярное выражениие).
Как несложно догадаться, для всех сайтов, работающих на DLE унас будет всего один универсальный шаблон:
id {preg} #news\-id\-\d+#is
Кроме поиска, по такой же схеме мы сделали возможность указания DOM замен. При этом можно заменить любой DOM элемент на указанную замену. Парсить с помощью DOM шаблонов в FDE Grabber можно не только полное содержимое статей, но и источники.
Итоги
Как мы видим, теперь имеется возможность ещё более удобного указания шаблонов для парсинга и время на реализацию новых идей!
Посмотреть демо версию системы импорта новостей FDE Grabber можно как и всегда на странице:
https://fdegrabber.demo.fdstar.net/
логин:
admin
пароль:
123456